"""
说明:
    1. 如果一个函数能够处理的参数个数是不确定的, 可以考虑使用多值参数
    2. 多值参数也叫可变参数，不定长参数
语法：
    1. 函数形参变量的前面加一个*， 这个参数则为元组型不定长参数
    2. *args : 用于接收元组类型数据, args 为习惯命名, 可以自定义
    3. args 是 arguments 的缩写, 有变量的含义
    4. 在函数内使用形参，无需加*
"""


def func(*args):
    # 4. 在函数内使用形参，无需加*
    print(type(args))
    print(args)


# 调用
func()  # args = ()
print('=' * 50)
func(250)  # args=(250,)
print('=' * 50)
func(250, 'mike', 'tom')  # args=(250, 'mike', 'tom')

print('=', 50)
# 第一个形参必须传递 参数
def demo(temp, *args):
    print(temp)
    print(type(args), args)


demo(111)
print('='*50)
demo(111,  250, 222) # temp = 111, args=(250, 222)